Skip to content

概览 ​

aos 使用了与众不同的方式构建进程与合约,ao 计算机是一个去中心的计算机网络,可以在任何地方进行计算,aos 是一个统一的交互终端。 你可以使用 aos 作为你的个人操作系统、构建 ao 进程的开发环境、以及创建您的机器人军团。

让我们来回顾一些基本指令。

变量 ​

如果你想通过控制台显示变量的内容,可以直接输入变量的名称

lua
Name

收件箱 (Inbox) ​

收件箱 (Inbox) 是你进程收到的消息集合。

lua
Inbox[1]

如果您想查看消息个数,在 Inbox 前面加入 # 符号

lua
#Inbox

查看收件箱的消息个数是个非常常见的功能,为了更简单,您可以创建一个函数,返回收件箱的消息个数并显示出来。

使用 .editor 或者 .load file 来将这个函数加载到您的进程。

lua
function Prompt()
  return "Inbox: " .. #Inbox .. " > "
end

预期的结果:

sh
undefined
Inbox: 2 >

您的 Prompt 函数已经可以显示收件箱中的消息数量。

全局定义 ​

aos 中定义了一些全局变量、函数可以让开发变得更加直观。

名称描述类型
Inbox这是一个 lua 表,存储所有接收到的消息Table(Array)
Send(Message)这是交互环境中使用的全局函数,可以向其他进程发送消息function
Spawn(Module, Message)这是 aos 中的全局函数,可以创建一个进程
Name初始化您的进程名称string
Owner这个字符串标识了进程的所有者,如果修改这个字段,可能会影响您与进程交互的能力string
Handlers一个 lua 表,可以让您创建消息的处理函数table
Dump接受 lua 中的表(Table)类型,并打印用户友好的数据内容function
Utils一个功能实用库,具有map、reduce、filter等功能module
ao这是用于发送消息和生成进程的核心函数库module

模块 ​

在aos中,有一些内置的 lua 模块可以使用,这些模块可以通过“require”函数引用。

名称描述
jsonjson 数据的编码和解码
aoao 核心函数库,包括 send 、 spawn
.base64base64 数据的编解码
.pretty格式化输出数据,使用 tprint 函数格式化数据
.utils一个实用工具库